package com.tulele.vtool.bus.service;

import com.tulele.vtool.bus.model.ArticleInfo;

import java.util.List;

public interface IArticleProfessionalService {

    /**
     * 查询用户分享文章数目
     * @param userId
     * @return
     */
    Integer getUserShareArticleCount(Integer userId);

    /**
     * 生成公众号发送给用户的提醒分享文章信息
     * @param userId
     * @return
     */
    String generateUserShareArticlePushMsg(Integer userId);

    /**
     * 生成公众号发送给用户的提醒分享文章信息
     * @param userId
     * @return
     */
    String generateFirstShareArticlePushMsg(Integer userId, Integer articleId, String profile);

    /**
     * 生成公众号发送给用户推荐文章信息
     * @param userId
     * @param pushTimeType 推送时段类型 1-第一次文章推送 2-第二次文章推送 3-第三次文章推送 4-第四次文章推送
     * @return
     */
    String generateUserPushArticleInfoV2(Integer userId, int pushTimeType, String profile);

    /**
     * 生成公众号发送给用户推荐文章信息(新规则)
     * @param userId
     * @param pushTimeType 推送时段类型 1-第一次文章推送 2-第二次文章推送 3-第三次文章推送 4-第四次文章推送  5- 11:20分文章推送
     * @return
     */
    String generateUserPushArticleInfoV3(Integer userId, int pushTimeType, String profile);

    /**
     * 晚上八点消息推送
     * @param nickName
     * @return
     */
    String generateUserPushArticleInfoSixthTime(String nickName, Integer vipStatus, String profile);

    /**
     * 早上6点半推送
     * @param userId
     * @return
     */
    String generateUserPushArticleInfoFirstTime(Integer userId, String profile) throws Exception;

    /**
     * 随机5篇正能量
     * @param userId
     * @return
     */
    String positiveEnergyMsgString(Integer userId, String profile);


    /**
     * 生成公众号发送给用户推荐文章信息(6:20)
     * @param userId
     * @return
     */
    String generateUserPushArticleInfoFirst(Integer userId, String profile) throws Exception;

    /**
     * 生成公众号发送给用户推荐文章信息(8:20)
     * @param userId
     * @return
     */
    String generateUserPushArticleInfoSecond(Integer userId, String profile) throws Exception;

    /**
     * 生成公众号发送给用户推荐文章信息(11:20)
     * @param userId
     * @return
     */
    String generateUserPushArticleInfoFifth(Integer userId, String profile) throws Exception;//平时
    String generateUserPushArticleInfo_KDXT(Integer userId, String profile);//推开单学堂 的文章

    /**
     * 生成公众号发送给用户推荐文章信息(18:00)
     * @param userId
     * @return
     */
    String generateUserPushArticleInfoThird(Integer userId, String profile);

    /**
     * 生成公众号发送给用户推荐文章信息(21:30)
     * @param userId
     * @return
     */
    String generateUserPushArticleInfoForth(Integer userId, String profile) throws Exception;

    /**
     * 生成公众号发送给用户推荐文章信息(换一批)
     * @param userId
     * @return
     */
    String generateUserPushArticleInfoNext(Integer userId, String profile) throws Exception;

    /**
     * 生成公众号发送给用户推荐视频信息(换一批视频)
     * @param userId
     * @return
     */
    String generateUserPushVideoNext(Integer userId, String profile) throws Exception;

    List<ArticleInfo> getArticleInfoByBrandForCreateTime(Integer articleBrandId, Integer recordSize);

    List<ArticleInfo> getArticleInfoByTypeForCreateTime(Integer articleTypeId, Integer recordSize);

    List<ArticleInfo> getToBePushTypeArticleInfo_OverGzh(Integer userId, Integer articleTypeId, int recordSize, String gzhCode);

}
